<style scoped>
  .sellform >>> .weui-form-preview__hd .weui-form-preview__value {
    font-size: 1.2em;
  }
  .sellform {
    background: #e3e3e3;
  }
  .page-infinite-wrapper {
    background: #e3e3e3;
  }
  .sellform >>> .weui-cells {
    margin-top: 0;
    background: #e3e3e3;
  }
  .sellform >>> .weui-loadmore__tips {
    background: #e3e3e3;;
  }
  .sellform >>> .weui-loadmore {
    margin-bottom: 0;
  }
  .weui-form-preview {
    margin: 5px;
    border-radius: 5px;
  }

  .rj-cell-child {
    display: inline-block;
    font-size: 0;
    padding: 5px 15px;
    text-align: left;
  }
  .rj-cell-child.max span{
    font-size: 16px;
    padding-right: 20px;
  }
  .rj-cell-child.minpad{
    padding-right: 10px !important;
  }
  .rj-cell-child label {
    color: #333;
    font-size: 14px;
  }
  .rj-cell-child span {
    padding-left: 20px;
    font-size: 14px;
    color: #333;
  }
  .rj-cell-child .tip {
    font-size: 16px;
    color: #333;
  }
  .rj-cell-child i {
    font-size: 18px;
    font-style: normal;
    color: #333;
  }
  .rj-cell-child-tit {
    background: #eee;
    font-size: 14px;
    padding: 5px 15px;
    border-bottom: 1px solid #ddd;
  }
  .weui-form-preview__ft .weui-form-preview {
    background: #f5f5ef;
  }
  .weui-form-preview__ft {
    line-height: normal;
  }



  .weui_tab_bd {
    background: #eee;
  }
  .weui-form-preview {
    background-color: #fff;
    margin: 5px;
    border-radius: 5px;
  }
  .weui-form-preview__hd label, .weui-form-preview__hd em {
    font-size: .9em !important;
  }
  .weui_navbar {
    white-space: nowrap;
    overflow: scroll;
    display: block !important;
    border-bottom: 1px solid #BCBAB6;
    font-size: 0;
    /*background: #fafafa;*/
  }
  .weui_navbar_item {
    font-size: 14px;
    display: inline-block;
    width: 20%;
    padding: 13px 0;
    background: #fff;
    position: relative;
    color: #888;
  }
  .weui_navbar_item.weui_bar_item_on {
    background-color: #f5f5f5;
    color: #00913a;
  }
  .weui_navbar:after {
    border-bottom: 0;
  }
  .weui_navbar_item:after {
    content: " ";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    border-right: 1px solid #cccccc;
    color: #cccccc;
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
    -webkit-transform: scaleX(0.5);
    transform: scaleX(0.5);
    font-size: 10px;
  }
  .weui-panel__bd {
    text-align: left;
  }
  .hoverbar {
    background: #03A9F4;
    position: fixed;
    bottom: 100px;
    right: 20px;
    height: 50px;
    line-height: 50px;
    width: 50px;
    z-index: 100;
    font-size: 30px;
    border-radius: 50%;
    box-shadow: 0px 2px 3px rgba(100, 100, 100, 0.5);
    color: #fff;
  }

</style>
<template>
  <div class="sellform">
    <SearchBar @doSearch="doSearch" />

    <div class="weui_tab">
      <div class="weui_navbar order-tabhd">
        <a class="weui_navbar_item" :class="{ weui_bar_item_on: postParams.status == 1 }" href="javaScript:;"  style="width:50%" @click="switchStatus(1)">有效 </a>
        <a class="weui_navbar_item " :class="{ weui_bar_item_on: postParams.status == 2 }" href="javaScript:;"  style="width:50%" @click="switchStatus(2)">失效 </a>

      </div>
      <div class="weui_tab_bd" style="background-color: #fff">
        <div class="page-infinite-wrapper" ref="wrapper" :style="{ height: wrapperHeight + 'px' }" >


          <mescroll-vue ref="mescroll" id="wrapper" :down="mescrollDown" :up="mescrollUp" @init="mescrollInit">
            <div class="hoverbar"  v-show="saladmperms"  @click="addItem">+
            </div>
            <div class="weui-form-preview" v-for="(item, index) in data" :key="item.guid" :ref="item.guid">

              <div class="weui-form-preview__hd"  >
                <label class="weui-form-preview__label">合同名称 </label>
                <em class="weui-form-preview__value">{{item.name}}</em>
              </div>
              <div class="weui-form-preview__bd">

                <div class="weui-form-preview__item">
                  <label class="weui-form-preview__label">合同编号</label>
                  <span class="weui-form-preview__value">{{item.code}} </span>
                </div>
                <div class="weui-form-preview__item">
                  <label class="weui-form-preview__label"> 客户名称</label>
                  <span class="weui-form-preview__value">{{item.customer}} </span>
                </div>


                <div class="weui-form-preview__item"  >
                  <label class="weui-form-preview__label">公司名称</label>
                  <em class="weui-form-preview__value">{{item.orgname}}</em>
                </div>


                <div class="weui-form-preview__item">
                  <label class="weui-form-preview__label">让利方式</label>
                  <span class="weui-form-preview__value">{{item.concessiontypeName}}</span>
                </div>
                <div class="weui-form-preview__item">
                  <label class="weui-form-preview__label">允许最大扣杂点</label>
                  <span class="weui-form-preview__value">{{item.maxdeduct}}</span>
                </div>
                <div class="weui-form-preview__item" >
                  <label class="weui-form-preview__label">损耗让利点</label>
                  <span class="weui-form-preview__value">{{item.maxdiscount}}</span>
                </div>
                <div class="weui-form-preview__item" >
                  <label class="weui-form-preview__label">促销让利点</label>
                  <span class="weui-form-preview__value">{{item.concession}}</span>
                </div>
                <div class="weui-form-preview__item" >
                  <label class="weui-form-preview__label">生效日期</label>
                  <span class="weui-form-preview__value">{{item.startdate}}</span>
                </div>
                <div class="weui-form-preview__item" >
                  <label class="weui-form-preview__label">失效日期</label>
                  <span class="weui-form-preview__value">{{item.enddate}}</span>
                </div>
                <div class="weui-form-preview__item" >
                  <label class="weui-form-preview__label">操作人</label>
                  <span class="weui-form-preview__value">{{item.operator}}</span>
                </div>

                <div class="weui-form-preview__item" >
                  <label class="weui-form-preview__label">创建时间</label>
                  <span class="weui-form-preview__value">{{item.createtime}}</span>
                </div>



              </div>
              <div class="weui-form-preview__ft olist">
                <!--                <div class="weui-panel__hd"></div>-->
                <div class="weui-panel__bd">
                  <div class="weui-form-preview" v-for="(product, index) in item.items" :key="product.guid">
                    <div class="rj-cell-child-tit">合同明细  {{index+1}}</div>
                    <div class="rj-cell-child max">
                      <label>产&nbsp;&nbsp;&nbsp;品：</label><span>{{product.product}}</span><br/>
                      <label>计价方式：</label><span>{{concessionName(product.valuation)}}</span>
                      <label>促销让利点：</label><span>{{product.concession}}</span>
                    </div>
                  </div>
                </div>
              </div>
              <div class="weui-form-preview__ft" style="line-height: 50px;"  >
                 <a class="weui-form-preview__btn weui-form-preview__btn_primary" href="javascript:" v-show="saladmperms && item.status ==1" @click="doAct('Editsalecontract', item.guid)" >修改</a>
                 <a class="weui-form-preview__btn weui-form-preview__btn_primary" href="javascript:" v-show="saladmperms && item.status ==1" @click="delMaterialRetApply( item.guid)" >作废</a>

              </div>

            </div>
          </mescroll-vue>
        </div>

      </div>
    </div>

  </div>
</template>

<script>
  import MescrollVue from 'mescroll.js/mescroll.vue'
  import SearchBar from '../../common/SearchBar'
  export default {
    name: 'Salecontract',
    components: {SearchBar, MescrollVue},
    data () {
      return {
        wrapperHeight: 600,
        data: [],
        openid: localStorage.openid,
        permissions:[],
        postParams: {
          status:1,
          functiontype: 6
        },
        mescroll: null, // mescroll实例对象
        mescrollDown: {},
        mescrollUp: { // 上拉加载的配置.
          callback: this.upCallback, // 上拉回调,此处简写; 相当于 callback: function(page, mescroll) { }
          page: {
            num: 0, //当前页 默认0,回调之前会加1; 即callback(page)会从1开始
            size: 5 //每页数据条数,默认10
          },
          htmlNodata: '<p class="upwarp-nodata">-- 我是有底线的 --</p>',
          noMoreSize: 1,
          empty: {
            warpId: "wrapper", //父布局的id (1.3.5版本支持传入dom元素)
            tip: "暂无相关数据~" //提示
          }
        },
        saladmperms: false,
        userid: localStorage.userid,
        linkedid:"",
          permission: {},
      }
    },
    created() {
      //从首页进入刷新
      // if(location.href.indexOf("#reloaded")==-1){
      //   location.href=location.href+"#reloaded";
      //   location.reload();
      // }
      //列表页头部不允许滑动
      document.getElementsByTagName("body")[0].className="bg";
    },
    mounted() {
      this.wrapperHeight = document.documentElement.clientHeight - this.$refs.wrapper.getBoundingClientRect().top - 40;
      this.userid = localStorage.userid;
      this.linkedid =  this.$route.query.guid
      this.getPermission()

      if (this.$route.query.code != undefined) {
        this.postParams.search = this.$route.query.code;
      }
      if (this.$route.query.status != undefined) {
        this.postParams.status = this.$route.query.status;
      }
    },
    methods: {
        addItem: function() {
            this.$router.push({name: 'Addsalecontract'});
        },
        delMaterialRetApply:function (guid){
            var that = this;
            $.confirm("确定作废!", function() {
                that.axios({
                    method: 'get',
                    url: '/sales/Salecontract!invalid.action',
                    dataType:'json',
                    params: {guid:guid,status:"0"},
                    dataType:'json'
                }).then((response) => {
                    if (response.data.info != 'error') {
                      that.$refs[guid][0].remove();
                      that.toastSuccess('操作成功!');
                    } else {
                      that.toastError("系统错误");
                    }
                    console.log(that.page)

                    that.upCallback(that.mescrollUp.page,that.mescroll);

                })
            }, function() {
                //点击取消后的回调函数
            });

        },
        getPermission: function() {
            var that = this;
            this.axios({
                method: 'get',
                params:{opttype:6},
                url: '/produce/OperatorPermission!getOperPerm.action',
            }).then((response) => {
                if (response.data.msg == 'success') {
                    this.$nextTick(() => {
                        response.data.permission.forEach(function ( value,index){
                            if(value.permission == '2'){
                                that.saladmperms = true;
                                return;
                            }
                        })
                    })
                } else {
                    this.toastError("系统错误");
                }

            })
        },
        concessionName: function(param) {
            let res = '';
            switch (param) {
                case 1:
                    res = '件';
                    break;
                case 2:
                    res = '吨';
                    break;

            }
            return res;
        },
      mescrollInit (mescroll) {
        this.mescroll = mescroll  // 如果this.mescroll对象没有使用到,则mescrollInit可以不用配置
      },
      upCallback (page, mescroll) {
        this.postParams.page = page.num;
        this.postParams.rows = page.size;


        // 联网请求
        this.axios({
          method: 'get',
          url: '/sales/Salecontract!list.action',
          params: this.postParams,
          dataType:'json'
        }).then((response) => {
            console.log(response.data)
          if (response.data.flag == 'success') {

            let res = response.data.result[0] != undefined ? response.data.result[0] : {rows: []};

            // 如果是第一页需手动置空列表
            if (page.num === 1 && this.data.length != 0) this.data = [];
            // 把请求到的数据添加到列表
            this.data = this.data.concat(res.rows);


            // 数据渲染成功后,隐藏下拉刷新的状态
            this.$nextTick(() => {
              mescroll.endSuccess(res.rows.length)
            })
            //将获取上一访问列表临时页码恢复正常
            if (this.mescrollUp.page.size > 5) {
              this.mescrollUp.page.num = this.$store.state.list.pageNo;
              this.mescrollUp.page.size = 5;
            }
          }   else {
            this.toastError("系统错误");
          }

        }).catch((e) => {
          // 联网失败的回调,隐藏下拉刷新和上拉加载的状态;
          mescroll.endErr()
        })
      },
      doAct: function (name, guid, type) {
          console.log(name,guid,type)

          this.$router.push({name: name, query: {guid:guid, type: type}});
      },
      doSearch: function(keywords) {
        this.postParams.search = keywords;
        this.getPageData('reset');
      },
      viewItem: function (id) {
        this.$router.push({name: 'ViewSellform', query: {id: id}});
      },
      getPageData: function () {
        $('#wrapper').scrollTop(0);
        this.data = [];
        this.mescroll.resetUpScroll();
      },
      switchStatus: function (sta) {
        this.postParams.status = sta;
        this.getPageData();
      }
    },
    activated () {
      //列表页头部不允许滑动
      document.getElementsByTagName("body")[0].className="bg";


      //判断是否是返回上一页
      if (this.$store.state.list.reffer != this.$options.name) return;
      //获取上一次访问列表数据
      this.mescrollUp.page.num = 0;
      this.mescrollUp.page.size = this.$store.state.list.pageNo * this.mescrollUp.page.size;
      this.getPageData();
      //定位
      this.$nextTick(function(){
        let position = this.$store.state.list.postion //返回页面取出来
        $('#wrapper').scrollTop(position);
        let status = this.$store.state.list.status;
        this.postParams.status = status;
      })
    },
    beforeRouteLeave(to, from, next){
      //取消列表页头部不允许滑动
      document.body.removeAttribute("class","bg");

      let position = $('#wrapper').scrollTop();
      let status = this.postParams.status;
      this.$store.commit('setPosition', position) //离开路由时把位置存起来
      this.$store.commit('setStatus', status)
      this.$store.commit('setPageNo', this.mescrollUp.page.num);
      this.$store.commit('setReffer', this.$options.name);
      next()
    },

  }
</script>
